/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.controllers;

import domain.Entity.EntityTrabajador;
import domain.Entity.EntityUsuario;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import managers.UsuarioManager;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.view.RedirectView;

/**
 *
 * @author jorge
 */
public class mostrarTrabajoController implements  Controller {
  
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
     
       ModelAndView mav = new ModelAndView();
       HttpSession session = request.getSession();
       
       UsuarioManager um = UsuarioManager.getInstance();
       mav.setView(new RedirectView("trabajo.htm"));
       
       List trabajos = (List) session.getAttribute("trabajosdehoy");
       String f = request.getParameter("fecha");
       SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
       
       EntityUsuario eu= (EntityUsuario) session.getAttribute("usuario");
      
     if(f != null){  
      if(!f.equals("")){ 
        Date fecha = sdf.parse(f);
       if(eu.getTipo().equals("gestor")){
          List trabajadores = um.mostrarTrabajadoresGestor(eu.getDni());
          List tareasTrabajadas = new ArrayList();
          Iterator it = trabajadores.iterator();
          while(it.hasNext()){
              EntityTrabajador trabajador = (EntityTrabajador) it.next();
              tareasTrabajadas.addAll(um.tareasTrabajadasFecha(trabajador, fecha));
          }
          session.setAttribute("trabajoGestor", tareasTrabajadas);
          return mav;
       }else{
          EntityTrabajador etr = (EntityTrabajador) session.getAttribute("trabajadorUsuario");  
          List tareasTrabajadas = um.tareasTrabajadasFecha(etr, fecha);
          session.setAttribute("trabajoTrabajador", tareasTrabajadas);
          return mav;
       }
      
      }
     } 
      
      session.setAttribute("trabajoTrabajador", trabajos); 
      session.setAttribute("trabajoGestor", trabajos); 
      return mav;  
        
    }

}
